﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Repository.EntityFramework.Accounts
{
    /// <summary>账号索引聚合根，只包含账号ID和账号名称，用于支持账号名称的唯一性
    /// </summary>
    public class AccountIndex
    {
        /// <summary>
        /// 其值为 cmd 的Id，当重复处理命令时，通过该值可以判断是否重复处理了。
        /// 后面的 AccoutInfo 也是用的该值做为用户表的主键了。
        /// </summary>
        [System.ComponentModel.DataAnnotations.Key]
        //[System.ComponentModel.DataAnnotations.Schema.ForeignKey("UserId")]
        public string AccountId { get; set; }

        [System.ComponentModel.DataAnnotations.Schema.Index(IsUnique = true)]
        [System.ComponentModel.DataAnnotations.StringLength(128)]
        [System.ComponentModel.DataAnnotations.Required]
        public string AccountName { get; set; }
    }
}
